gel komutu ne demek?

Gel (Unix) Komutu

Gel komutu, Unix ve Unix benzeri sistemler (örneğin Linux) üzerinde kullanılan, dosyaları ve dizinleri yönetmek için temel bir komuttur. Temel işlevi, kullanıcının geçerli çalışma dizinini değiştirmesini sağlamaktır. "Gel" kelimesi, İngilizce'deki "change directory" (dizin değiştir) ifadesinin kısaltmasıdır.

Tarihçe

cd komutunun kökleri, Bell Laboratuvarları'nda geliştirilen ilk Unix sistemlerine kadar uzanır. Basit ve etkili bir dizin navigasyonu aracı olarak tasarlanmıştır. Zaman içinde, farklı Unix varyantlarında ve POSIX standartlarında uyumluluğu sağlamak için evrim geçirmiştir.

Kullanımı

cd komutunun temel sözdizimi şöyledir:

cd [seçenekler] [dizin]
  • seçenekler: Komutun davranışını değiştiren isteğe bağlı argümanlardır.
  • dizin: Geçmek istenen dizinin yolunu belirtir.

Temel İşlevleri

  • Dizin Değiştirme: En temel işlevi, kullanıcının geçerli çalışma dizinini belirtilen dizine değiştirmektir.

    cd /home/kullanici/belgeler
    

    Bu komut, geçerli dizini /home/kullanici/belgeler olarak değiştirir.

  • Mutlak ve Göreceli Yollar: cd komutu, hem mutlak (kök dizinden başlayan) hem de göreceli (geçerli dizine göre) yolları kabul eder.

    # Mutlak yol
    cd /var/log
    
    # Göreceli yol (bir üst dizine gitmek)
    cd ..
    
    # Göreceli yol (bir alt dizine gitmek)
    cd belgeler
    
  • Ana Dizin: Hiçbir argüman belirtilmeden cd komutu kullanıldığında, kullanıcıyı kendi ana dizinine götürür.

    cd
    

    Bu komut, kullanıcıyı genellikle /home/kullanici gibi bir dizine götürür (kullanıcının adının "kullanici" olduğu varsayılarak).

  • Önceki Dizin: cd - komutu, kullanıcının en son bulunduğu dizine geri dönmesini sağlar. Bu, iki dizin arasında hızlıca geçiş yapmak için kullanışlıdır.

    cd -
    

Seçenekler

cd komutunun seçenekleri, işletim sistemine ve kabuğa bağlı olarak değişebilir. Ancak, bazı yaygın seçenekler şunlardır:

  • -L: Sembolik bağlantıları takip eder. Bu, cd komutunun, sembolik bağlantının işaret ettiği gerçek dizine gitmesini sağlar. Bu, bazı sistemlerde varsayılan davranıştır.

  • -P: Sembolik bağlantıları takip etmez. cd komutu, sembolik bağlantının kendisini dizin olarak kabul eder ve oraya gider.

  • -e: Bazı sistemlerde (örneğin bash) kullanılan bu seçenek, dizin bulunamazsa veya erişim izni yoksa hata mesajı gösterir ve komutun başarısız olmasına neden olur.

Örnekler

Aşağıda cd komutunun farklı kullanımlarına ilişkin bazı örnekler verilmiştir:

  • Ana dizine gitme:

    cd
    
  • Bir alt dizine gitme:

    cd belgeler
    
  • Bir üst dizine gitme:

    cd ..
    
  • İki üst dizine gitme:

    cd ../..
    
  • Önceki dizine gitme:

    cd -
    
  • Mutlak bir yola gitme:

    cd /var/log/apache2
    
  • Sembolik bağlantıyı takip etme: (Varsayılan davranış)

    cd /usr/local/bin/python3 # eğer python3 bir sembolik bağlantıysa hedef dizine gider.
    

Kabuk Entegrasyonu

cd komutu, çoğu Unix kabuğu ile sıkı bir şekilde entegredir. Örneğin, Bash gibi kabuklar, cd komutunun davranışını özelleştirmek ve geliştirmek için çeşitli mekanizmalar sunar.

  • CDPATH: Bu ortam değişkeni, cd komutu için arama yollarını tanımlar. Eğer belirtilen dizin göreceli bir yol ise ve geçerli dizinde bulunamazsa, kabuk CDPATH içindeki dizinlerde arama yapar.

    export CDPATH=".:/home/kullanici/belgeler:/opt/projeler"
    

    Bu örnekte, kabuk önce geçerli dizinde, sonra /home/kullanici/belgeler ve son olarak /opt/projeler dizinlerinde arama yapar.

  • pushd ve popd: Bu komutlar, dizin yığınını kullanarak daha karmaşık dizin navigasyonu senaryolarını yönetmeye yardımcı olur. pushd bir dizini yığına ekler ve o dizine giderken, popd yığından bir dizini çıkarır ve o dizine geri döner.

Hata Durumları

cd komutu, bazı durumlarda hata verebilir:

  • Dizin Bulunamadı: Belirtilen dizin mevcut değilse.

    cd /var/log/olmayan_dizin
    # Çıktı: cd: /var/log/olmayan_dizin: Böyle bir dosya ya da dizin yok
    
  • Erişim İzni Yok: Kullanıcının belirtilen dizine erişim izni yoksa.

    cd /root
    # Çıktı: cd: /root: İzin reddedildi
    
  • Dizin Değil: Belirtilen yol bir dosya ise ve bir dizin değilse.

    cd /var/log/syslog
    # Çıktı: cd: /var/log/syslog: Dizin değil
    

Güvenlik Hususları

cd komutu genellikle güvenli bir komuttur, ancak dikkat edilmesi gereken bazı durumlar vardır:

  • Sembolik Bağlantılar: Güvenilmeyen kaynaklardan gelen sembolik bağlantılar, beklenmedik dizinlere yönlendirebilir ve güvenlik açıklarına yol açabilir. Bu nedenle, bilinmeyen sembolik bağlantıları takip ederken dikkatli olunmalıdır.

  • CDPATH: CDPATH değişkeni, beklenmedik dizinlere geçişe neden olabileceğinden dikkatli kullanılmalıdır. Özellikle, genel olarak yazılabilir bir dizinin CDPATH içinde yer alması güvenlik riski oluşturabilir.

Alternatifler

cd komutuna alternatif olarak kullanılabilecek bazı araçlar ve teknikler şunlardır:

  • Dizin Yer İmleri (Bookmarks): Zsh gibi bazı kabuklar, dizinler için yer imleri oluşturmayı ve bunlara hızlıca erişmeyi sağlayan özellikler sunar.
  • Dosya Yöneticileri: Grafik arayüzlü dosya yöneticileri, dizin navigasyonu için görsel bir arayüz sağlar.
  • Otomatik Tamamlama: Çoğu kabuk, dizin adlarını otomatik olarak tamamlayarak navigasyonu kolaylaştırır.

Sonuç

cd komutu, Unix ve Linux sistemlerinde dizinler arasında gezinmek için temel bir araçtır. Basit sözdizimi ve güçlü özellikleri, onu sistem yöneticileri ve geliştiriciler için vazgeçilmez kılar. Doğru kullanıldığında, dosya sistemi üzerinde hızlı ve etkili bir şekilde gezinmeyi sağlar. Kabuk bilgisi ile birlikte kullanıldığında daha da güçlü bir araç haline gelir.

Kendi sorunu sor